package com.amsp.oa.oademo.service;

import com.amsp.oa.oademo.entity.VehicleApplication;
import com.amsp.oa.oademo.model.request.VehicleDispatchRequest;
import com.amsp.oa.oademo.model.request.VehicleRecordRequest;
import com.amsp.oa.oademo.model.request.VehicleReturnRequest;
import java.util.List;

public interface VehicleService {
    String createApplication(VehicleApplication application);
    void approveApplication(Long id, String result, String remark);
    List<VehicleApplication> getApplicationList(String status);
    VehicleApplication getApplicationById(Long id);
    List<VehicleApplication> getPendingApprovals();
    List<VehicleApplication> getApprovedApplications();
    
    // 派遣相关
    void dispatchVehicle(Long id, VehicleDispatchRequest request);
    List<VehicleApplication> getPendingDispatchList();
    List<VehicleApplication> getDispatchedList();
    
    // 用车记录相关
    void recordVehicleUsage(Long id, VehicleRecordRequest request);
    List<VehicleApplication> getInUseList();
    List<VehicleApplication> getCompletedList();
    
    // 归还确认相关
    void confirmReturn(Long id, VehicleReturnRequest request);
    List<VehicleApplication> getPendingReturnList();
    List<VehicleApplication> getReturnedList();
} 